package main

import "fmt"

/*
chan 有缓冲通道，cap，len
关闭，因为里面有值，可以发送，不能接收，都关闭了，取值取完了，就是 0 值
*/
func main() {
	cacheCh := make(chan int, 5)
	cacheCh <- 1
	cacheCh <- 2
	fmt.Println(cap(cacheCh), len(cacheCh))
	close(cacheCh)
	// cacheCh <- 3 // panic: send on closed channel
	v := <-cacheCh
	fmt.Println(v) // 1
	v1 := <-cacheCh
	fmt.Println(v1) // 2
	v2 := <-cacheCh
	fmt.Println(v2) // 0

}
